#include "butin.h"

void initializeButin(int x, int y)
{
    
    if (jeu.nombreButin < BUTIN_MAX )
    {

        Butin[jeu.nombreButin].sprite = IMG_Load("images/C.png");


       
        Butin[jeu.nombreButin].frameNumber = 0;
        Butin[jeu.nombreButin].frameTimer = 1;

        
        Butin[jeu.nombreButin].x = x;
        Butin[jeu.nombreButin].y = y;

        
        Butin[jeu.nombreButin].w = TILE_SIZE;
        Butin[jeu.nombreButin].h = TILE_SIZE;

        Butin[jeu.nombreButin].timerMort = 0;

        
       
       
        jeu.nombreButin++; 
       
    }

}

void NextLevel(int x, int y)
{
    static SDL_Rect compteur;
    static int i=0;
    if (i==0)
    {
        compteur.x=0;
        i=1;
        Mix_PauseMusic();
        playSoundFx(YOUWIN);
        
    }
    compteur.x=compteur.x +1;
    if (player.x> x )
    {   
        Mix_Pause(-1);

        drawString("LEVEL UP ",  200,300,fontMaxi);
        
        
        
       
    }
    if (compteur.x>500)
    {
        jeu.level=2;
        Mix_ResumeMusic();
        initializePlayer();
    }
    

}

   int collideButin(Hero *player, GameObject *Butin)
 {
    
    if ((player->x >= Butin->x + Butin->w) || (player->x + player->w <= Butin->x) || (player->y >= Butin->y + Butin->h) || (player->y + player->h <= Butin->y) )
        return 0;
    
    else if (player->y <= Butin->y + 10)
    {
        
        return 2;
    }
    
    else
        return 1;
}



   void updateButin(void)
{

    int i;

    
    for ( i = 0; i < jeu.nombreButin; i++ )

    {
        
        if (Butin[i].timerMort == 0)
        {



            
            if (collideButin(&player, &Butin[i]) == 2)
            {
               
                Butin[i].timerMort = 1;
            }

          }

        
        if (Butin[i].timerMort > 0)
        {
            Butin[i].timerMort--;

           if (Butin[i].timerMort == 0)
            {
                
                Butin[i] = Butin[jeu.nombreButin-1];
                jeu.nombreButin--;
                playSoundFx(STAR);
                getscore();
            }
        }

    }


}

void getscore(void)
{
     jeu.etoiles++;
}